\section{Related Work} 
\label{sec:related_work}

Kabus describes an architecture for MMOG in which the game world is divided into smaller regions to distribute the computational load \cite{Kabus}. Each region is assigned a group of nodes called Region Controllers (RC) which each maintains the whole state of the region. When a player's avatar is in a region, the player sends his actions to all RCs of that region. Each RC computes the new game state and sends it to the player. The player then picks what the majority claims as the new state.

The Kabus system uses a Management Service (MS) which is run by the game provider. Nobody can join the game without permission from the MS. Thus they enforce that players pay for participating. The MS also decides which peers should be RCs for a certain region. This is done in a way so that it is random which region a peer end up being RC for.

The management of our system is inspired by Kabus. For a particular game we have a set of operators (OPs) controlling the game, similar to RCs, however, our structure is more decentralized, since the selection of the OPs for a certain game is based on the participating players of that game.


In Baughman, a stop-and-wait protocol named lockstep for countering what is called the lookahead cheat is proposed \cite{Baughman}. We use a very similar protocol for calculating dice rolls, and since we are not dealing with a real time game, the performance penalty described in Baughman is not of great concern in our system.
